package com.sls.web.manager.game.pojo.ekhui;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
 * 退款
 * @author Administrator
 *
 */
public class Refund implements Serializable {
	private static final long serialVersionUID = 1L;
	private String refundId ;			//退款id
	private String paymentId ;			//退款关联的支付单
	private BigDecimal refundMoney ;	//退款金额
	private String refundAccountId ;	//退款账户id
	private String refundTraderId ;			//退款商户id
	private String refundTraderName ;			//退款商户名称
	private String receiveAccountId ;	//收款账户id
	private String receiveTraderId ;			//收款商户id
	private String receiveTraderName ;			//收款商户名称
	private String refundFemark ;		//退款备注
	private Date refundAccountDay ;		//退款账务日期
	private Date receiveAccountDay ;	//收款账务日期
	private Date completeTime ;			//退款完成时间
	private String status ;				//退款单状态
	private String orderId ;			//退款单关联订单
	public Refund() {
		super();
	}
	public String getRefundId() {
		return refundId;
	}
	public void setRefundId(String refundId) {
		this.refundId = refundId;
	}
	public String getPaymentId() {
		return paymentId;
	}
	public void setPaymentId(String paymentId) {
		this.paymentId = paymentId;
	}
	public BigDecimal getRefundMoney() {
		return refundMoney;
	}
	public void setRefundMoney(BigDecimal refundMoney) {
		this.refundMoney = refundMoney;
	}
	public String getRefundAccountId() {
		return refundAccountId;
	}
	public void setRefundAccountId(String refundAccountId) {
		this.refundAccountId = refundAccountId;
	}
	public String getRefundTraderName() {
		return refundTraderName;
	}
	public void setRefundTraderName(String refundTraderName) {
		this.refundTraderName = refundTraderName;
	}
	public String getReceiveTraderName() {
		return receiveTraderName;
	}
	public void setReceiveTraderName(String receiveTraderName) {
		this.receiveTraderName = receiveTraderName;
	}
	public String getRefundTraderId() {
		return refundTraderId;
	}
	public void setRefundTraderId(String refundTraderId) {
		this.refundTraderId = refundTraderId;
	}
	public String getReceiveTraderId() {
		return receiveTraderId;
	}
	public void setReceiveTraderId(String receiveTraderId) {
		this.receiveTraderId = receiveTraderId;
	}
	public String getReceiveAccountId() {
		return receiveAccountId;
	}
	public void setReceiveAccountId(String receiveAccountId) {
		this.receiveAccountId = receiveAccountId;
	}

	public String getRefundFemark() {
		return refundFemark;
	}
	public void setRefundFemark(String refundFemark) {
		this.refundFemark = refundFemark;
	}
	public Date getRefundAccountDay() {
		return refundAccountDay;
	}
	public void setRefundAccountDay(Date refundAccountDay) {
		this.refundAccountDay = refundAccountDay;
	}
	public Date getReceiveAccountDay() {
		return receiveAccountDay;
	}
	public void setReceiveAccountDay(Date receiveAccountDay) {
		this.receiveAccountDay = receiveAccountDay;
	}
	public Date getCompleteTime() {
		return completeTime;
	}
	public void setCompleteTime(Date completeTime) {
		this.completeTime = completeTime;
	}
	public String getStatus() {
		return status;
	}
	public void setStatus(String status) {
		this.status = status;
	}
	public String getOrderId() {
		return orderId;
	}
	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	public Refund saveRefund(Account refundAccount, Account receiveAccount,
			String orderId, BigDecimal money , 
			Payment payment,Trader refundTrader ,Trader receiveTrader){
		this.setCompleteTime(new Date()) ;
		this.setOrderId(orderId) ;
		this.setPaymentId(payment.getPaymentId()) ;
		this.setReceiveAccountDay(new Date()) ;
		this.setReceiveAccountId(receiveAccount.getAccountId()) ;
		this.setRefundAccountDay(new Date()) ;
		this.setRefundAccountId(refundAccount.getAccountId()) ;
		this.setRefundMoney(money) ;
		this.setRefundTraderId(refundTrader.getTraderId()) ;
		this.setRefundTraderName(refundTrader.getTraderName()) ;
		this.setReceiveTraderId(receiveTrader.getTraderId()) ;
		this.setReceiveTraderName(receiveTrader.getTraderName()) ;
		return this ;
	}
	
}
